install.packages(‘foreign’) install.packages(“MASS”) install.packages(“Hmisc”) install.packages(“reshape2”) install.packages(“plotly”)

library(foreign)
library(MASS)
library(Hmisc)
library(reshape2)
library(plotly)
method = rep(c("na.interp","na.approx","na.spline"), each=600)
gaps = rep(c(5,10,20,25,50,100),times=c(100,100,100,100,100,100))
gaps = c(gaps,gaps,gaps)
fractional_bias_all = c(fractional_bias_interp_5, fractional_bias_interp_10, fractional_bias_interp_20, fractional_bias_interp_25, fractional_bias_interp_50, fractional_bias_interp_100, fractional_bias_approx_5, fractional_bias_approx_10, fractional_bias_approx_20, fractional_bias_approx_25, fractional_bias_approx_50, fractional_bias_approx_100, fractional_bias_spline_5, fractional_bias_spline_10, fractional_bias_spline_20, fractional_bias_spline_25, fractional_bias_spline_50, fractional_bias_spline_100)

ioa_all = c(ioa_interp_5, ioa_interp_10, ioa_interp_20, ioa_interp_25, ioa_interp_50, ioa_interp_100 ,ioa_approx_5, ioa_approx_10, ioa_approx_20, ioa_approx_25, ioa_approx_50, ioa_approx_100, ioa_spline_5, ioa_spline_10, ioa_spline_20, ioa_spline_25, ioa_spline_50, ioa_spline_100)

mad_all = c(mad_interp_5, mad_interp_10, mad_interp_20, mad_interp_25, mad_interp_50, mad_interp_100, mad_approx_5, mad_approx_10, mad_approx_20, mad_approx_25, mad_approx_50, mad_approx_100, mad_spline_5, mad_spline_10, mad_spline_20, mad_spline_25, mad_spline_50, mad_spline_100)

rmse_all = c(rmse_interp_5, rmse_interp_10, rmse_interp_20,rmse_interp_25, rmse_interp_50, rmse_interp_100, rmse_approx_5, rmse_approx_10, rmse_approx_20, rmse_approx_25, rmse_approx_50, rmse_approx_100, rmse_spline_5, rmse_spline_10, rmse_spline_20, rmse_spline_25, rmse_spline_50, rmse_spline_100)

df = data.frame("method"=method, "gaps"=gaps, "fractionalBias"=fractional_bias_all, "indexOfAgreement"=ioa_all, "RMSE"=rmse_all, "meanAbsoluteDifference"=mad_all)
df
p <- ggplot(df, aes(gaps, fractionalBias)) +
    geom_boxplot(size = .75) +
    facet_grid(gaps~method, margins = TRUE)

p <- ggplotly(p)

p
colors = c("red","blue","green")
label_gap = c("5","10","20","25","50","100")
label_methods = c("na.interp","na.approx","na.spline")

boxplot(df$fractionalBias~method+gaps, outcol="orange",xaxt='n',ylab="Fractional Bias", xlab = "Gap Sizes", main = "Comparing Fractional Bias", col=colors)
axis(1, at=seq(2,18,by=3), labels=label_gap[1:6])
legend("topleft",label_methods, col = colors, title = 'Methods', lwd=2,cex=.75)

boxplot(df$indexOfAgreement~method+gaps, outcol="orange",xaxt='n',ylab="Index of Agreement", xlab = "Gap Sizes", main = "Comparing Index of Agreement", col=colors)
axis(1, at=seq(2,18,by=3), labels=label_gap[1:6])
legend("bottomleft",label_methods, col = colors, title = 'Methods', lwd=2,cex=.75)

boxplot(df$RMSE~method+gaps, outcol="orange",xaxt='n',ylab="RMSE", xlab = "Gap Sizes", main = "Comparing RMSE", col=colors)
axis(1, at=seq(2,18,by=3), labels=label_gap[1:6])
legend("topleft",label_methods, col = colors, title = 'Methods', lwd=2,cex=.75)

boxplot(df$meanAbsoluteDifference~method+gaps, outcol="orange",xaxt='n',ylab="Mean Absolute Difference", xlab = "Gap Sizes", main = "Comparing Mean Absolute Difference", col=colors)
axis(1, at=seq(2,18,by=3), labels=label_gap[1:6])
legend("topleft",label_methods, col = colors, title = 'Methods', lwd=2,cex=.75)

LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKCgppbnN0YWxsLnBhY2thZ2VzKCdmb3JlaWduJykKaW5zdGFsbC5wYWNrYWdlcygiTUFTUyIpCmluc3RhbGwucGFja2FnZXMoIkhtaXNjIikKaW5zdGFsbC5wYWNrYWdlcygicmVzaGFwZTIiKQppbnN0YWxsLnBhY2thZ2VzKCJwbG90bHkiKQoKCgpgYGB7cn0KbGlicmFyeShmb3JlaWduKQpsaWJyYXJ5KE1BU1MpCmxpYnJhcnkoSG1pc2MpCmxpYnJhcnkocmVzaGFwZTIpCmxpYnJhcnkocGxvdGx5KQpgYGAKCgoKCmBgYHtyfQptZXRob2QgPSByZXAoYygibmEuaW50ZXJwIiwibmEuYXBwcm94IiwibmEuc3BsaW5lIiksIGVhY2g9NjAwKQpnYXBzID0gcmVwKGMoNSwxMCwyMCwyNSw1MCwxMDApLHRpbWVzPWMoMTAwLDEwMCwxMDAsMTAwLDEwMCwxMDApKQpnYXBzID0gYyhnYXBzLGdhcHMsZ2FwcykKZnJhY3Rpb25hbF9iaWFzX2FsbCA9IGMoZnJhY3Rpb25hbF9iaWFzX2ludGVycF81LCBmcmFjdGlvbmFsX2JpYXNfaW50ZXJwXzEwLCBmcmFjdGlvbmFsX2JpYXNfaW50ZXJwXzIwLCBmcmFjdGlvbmFsX2JpYXNfaW50ZXJwXzI1LCBmcmFjdGlvbmFsX2JpYXNfaW50ZXJwXzUwLCBmcmFjdGlvbmFsX2JpYXNfaW50ZXJwXzEwMCwgZnJhY3Rpb25hbF9iaWFzX2FwcHJveF81LCBmcmFjdGlvbmFsX2JpYXNfYXBwcm94XzEwLCBmcmFjdGlvbmFsX2JpYXNfYXBwcm94XzIwLCBmcmFjdGlvbmFsX2JpYXNfYXBwcm94XzI1LCBmcmFjdGlvbmFsX2JpYXNfYXBwcm94XzUwLCBmcmFjdGlvbmFsX2JpYXNfYXBwcm94XzEwMCwgZnJhY3Rpb25hbF9iaWFzX3NwbGluZV81LCBmcmFjdGlvbmFsX2JpYXNfc3BsaW5lXzEwLCBmcmFjdGlvbmFsX2JpYXNfc3BsaW5lXzIwLCBmcmFjdGlvbmFsX2JpYXNfc3BsaW5lXzI1LCBmcmFjdGlvbmFsX2JpYXNfc3BsaW5lXzUwLCBmcmFjdGlvbmFsX2JpYXNfc3BsaW5lXzEwMCkKCmlvYV9hbGwgPSBjKGlvYV9pbnRlcnBfNSwgaW9hX2ludGVycF8xMCwgaW9hX2ludGVycF8yMCwgaW9hX2ludGVycF8yNSwgaW9hX2ludGVycF81MCwgaW9hX2ludGVycF8xMDAgLGlvYV9hcHByb3hfNSwgaW9hX2FwcHJveF8xMCwgaW9hX2FwcHJveF8yMCwgaW9hX2FwcHJveF8yNSwgaW9hX2FwcHJveF81MCwgaW9hX2FwcHJveF8xMDAsIGlvYV9zcGxpbmVfNSwgaW9hX3NwbGluZV8xMCwgaW9hX3NwbGluZV8yMCwgaW9hX3NwbGluZV8yNSwgaW9hX3NwbGluZV81MCwgaW9hX3NwbGluZV8xMDApCgptYWRfYWxsID0gYyhtYWRfaW50ZXJwXzUsIG1hZF9pbnRlcnBfMTAsIG1hZF9pbnRlcnBfMjAsIG1hZF9pbnRlcnBfMjUsIG1hZF9pbnRlcnBfNTAsIG1hZF9pbnRlcnBfMTAwLCBtYWRfYXBwcm94XzUsIG1hZF9hcHByb3hfMTAsIG1hZF9hcHByb3hfMjAsIG1hZF9hcHByb3hfMjUsIG1hZF9hcHByb3hfNTAsIG1hZF9hcHByb3hfMTAwLCBtYWRfc3BsaW5lXzUsIG1hZF9zcGxpbmVfMTAsIG1hZF9zcGxpbmVfMjAsIG1hZF9zcGxpbmVfMjUsIG1hZF9zcGxpbmVfNTAsIG1hZF9zcGxpbmVfMTAwKQoKcm1zZV9hbGwgPSBjKHJtc2VfaW50ZXJwXzUsIHJtc2VfaW50ZXJwXzEwLCBybXNlX2ludGVycF8yMCxybXNlX2ludGVycF8yNSwgcm1zZV9pbnRlcnBfNTAsIHJtc2VfaW50ZXJwXzEwMCwgcm1zZV9hcHByb3hfNSwgcm1zZV9hcHByb3hfMTAsIHJtc2VfYXBwcm94XzIwLCBybXNlX2FwcHJveF8yNSwgcm1zZV9hcHByb3hfNTAsIHJtc2VfYXBwcm94XzEwMCwgcm1zZV9zcGxpbmVfNSwgcm1zZV9zcGxpbmVfMTAsIHJtc2Vfc3BsaW5lXzIwLCBybXNlX3NwbGluZV8yNSwgcm1zZV9zcGxpbmVfNTAsIHJtc2Vfc3BsaW5lXzEwMCkKCmRmID0gZGF0YS5mcmFtZSgibWV0aG9kIj1tZXRob2QsICJnYXBzIj1nYXBzLCAiZnJhY3Rpb25hbEJpYXMiPWZyYWN0aW9uYWxfYmlhc19hbGwsICJpbmRleE9mQWdyZWVtZW50Ij1pb2FfYWxsLCAiUk1TRSI9cm1zZV9hbGwsICJtZWFuQWJzb2x1dGVEaWZmZXJlbmNlIj1tYWRfYWxsKQpkZgpgYGAKCgpgYGB7cn0KcCA8LSBnZ3Bsb3QoZGYsIGFlcyhnYXBzLCBmcmFjdGlvbmFsQmlhcykpICsKICAgIGdlb21fYm94cGxvdChzaXplID0gLjc1KSArCiAgICBmYWNldF9ncmlkKGdhcHN+bWV0aG9kLCBtYXJnaW5zID0gVFJVRSkKCnAgPC0gZ2dwbG90bHkocCkKCnAKYGBgCgoKYGBge3J9CmNvbG9ycyA9IGMoInJlZCIsImJsdWUiLCJncmVlbiIpCmxhYmVsX2dhcCA9IGMoIjUiLCIxMCIsIjIwIiwiMjUiLCI1MCIsIjEwMCIpCmxhYmVsX21ldGhvZHMgPSBjKCJuYS5pbnRlcnAiLCJuYS5hcHByb3giLCJuYS5zcGxpbmUiKQpgYGAKCgoKYGBge3J9Cgpib3hwbG90KGRmJGZyYWN0aW9uYWxCaWFzfm1ldGhvZCtnYXBzLCBvdXRjb2w9Im9yYW5nZSIseGF4dD0nbicseWxhYj0iRnJhY3Rpb25hbCBCaWFzIiwgeGxhYiA9ICJHYXAgU2l6ZXMiLCBtYWluID0gIkNvbXBhcmluZyBGcmFjdGlvbmFsIEJpYXMiLCBjb2w9Y29sb3JzKQpheGlzKDEsIGF0PXNlcSgyLDE4LGJ5PTMpLCBsYWJlbHM9bGFiZWxfZ2FwWzE6Nl0pCmxlZ2VuZCgidG9wbGVmdCIsbGFiZWxfbWV0aG9kcywgY29sID0gY29sb3JzLCB0aXRsZSA9ICdNZXRob2RzJywgbHdkPTIsY2V4PS43NSkKYGBgCgpgYGB7cn0KYm94cGxvdChkZiRpbmRleE9mQWdyZWVtZW50fm1ldGhvZCtnYXBzLCBvdXRjb2w9Im9yYW5nZSIseGF4dD0nbicseWxhYj0iSW5kZXggb2YgQWdyZWVtZW50IiwgeGxhYiA9ICJHYXAgU2l6ZXMiLCBtYWluID0gIkNvbXBhcmluZyBJbmRleCBvZiBBZ3JlZW1lbnQiLCBjb2w9Y29sb3JzKQpheGlzKDEsIGF0PXNlcSgyLDE4LGJ5PTMpLCBsYWJlbHM9bGFiZWxfZ2FwWzE6Nl0pCmxlZ2VuZCgiYm90dG9tbGVmdCIsbGFiZWxfbWV0aG9kcywgY29sID0gY29sb3JzLCB0aXRsZSA9ICdNZXRob2RzJywgbHdkPTIsY2V4PS43NSkKYGBgCgoKCmBgYHtyfQpib3hwbG90KGRmJFJNU0V+bWV0aG9kK2dhcHMsIG91dGNvbD0ib3JhbmdlIix4YXh0PSduJyx5bGFiPSJSTVNFIiwgeGxhYiA9ICJHYXAgU2l6ZXMiLCBtYWluID0gIkNvbXBhcmluZyBSTVNFIiwgY29sPWNvbG9ycykKYXhpcygxLCBhdD1zZXEoMiwxOCxieT0zKSwgbGFiZWxzPWxhYmVsX2dhcFsxOjZdKQpsZWdlbmQoInRvcGxlZnQiLGxhYmVsX21ldGhvZHMsIGNvbCA9IGNvbG9ycywgdGl0bGUgPSAnTWV0aG9kcycsIGx3ZD0yLGNleD0uNzUpCmBgYAoKCgpgYGB7cn0KYm94cGxvdChkZiRtZWFuQWJzb2x1dGVEaWZmZXJlbmNlfm1ldGhvZCtnYXBzLCBvdXRjb2w9Im9yYW5nZSIseGF4dD0nbicseWxhYj0iTWVhbiBBYnNvbHV0ZSBEaWZmZXJlbmNlIiwgeGxhYiA9ICJHYXAgU2l6ZXMiLCBtYWluID0gIkNvbXBhcmluZyBNZWFuIEFic29sdXRlIERpZmZlcmVuY2UiLCBjb2w9Y29sb3JzKQpheGlzKDEsIGF0PXNlcSgyLDE4LGJ5PTMpLCBsYWJlbHM9bGFiZWxfZ2FwWzE6Nl0pCmxlZ2VuZCgidG9wbGVmdCIsbGFiZWxfbWV0aG9kcywgY29sID0gY29sb3JzLCB0aXRsZSA9ICdNZXRob2RzJywgbHdkPTIsY2V4PS43NSkKYGBgCgoKCgoK